package com.huangdebiao.oa.dao;

import com.huangdebiao.oa.entity.RoleEntity;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface RoleDao {


    /**
     * 通过角色名字查询roleId
     * @return
     * @param roleName
     */
    Integer findRoleIdByRoleName(String roleName);

    /**
     * 通过userId查询用户的角色
     * @param userId
     * @return
     */
    List<String> findRoleNameByUserId(Integer userId);


    /**
     * 查询所有的角色
     * @return
     */
    List<RoleEntity> findAllRole();

    /**
     * 增加角色
     * @param roleName
     * @return
     */
    Integer addRole(String roleName);

    /**
     * 通过roleId修改角色名字
     * @param roleId
     * @param roleName
     * @return
     */
    Integer updateRoleNameByRoleId(@Param("roleId") Integer roleId, @Param("roleName") String roleName);

    /**
     * 通过新角色名字修改旧角色名字
     * @param oldName
     * @param newName
     * @return
     */
    Integer updateRoleNameByOldRoleName(@Param("oldName") String oldName,@Param("newName") String newName);

    /**
     * 通过roleId删除角色
     * @param roleId
     * @return
     */
    Integer deleteRoleByRoleId(@Param("roleId") Integer roleId);

    /**
     * 通过角色名字（roleName）删除角色
     * @param roleName
     * @return
     */
    Integer deleteRoleByRoleName(String roleName);

    /**
     * 通过角色名称查询是否存在于数据库
     * @param roleName
     * @return 1则存在，0则不存在
     */
    Integer checkRole(String roleName);


}
